// *** ADDED BY HEADER FIXUP ***
#include <iostream>
#include <string>
// *** END ***
#include "InterfaceBase.h"

void InterfaceBase::showOpt()
{
    cout<<"1 - Login\n2 - Registrar\n3 - Sair";
}

void InterfaceBase::executar()
{
    string s;
    RetornoInfo RL;
    do
    {
        showOpt();
        s = Request::getSParameter("\nO que deseja fazer?");
        if(s == IBase::LoginNUM)
        {
            InterfaceLogin iLogin;
            RL = iLogin.executarv2();/*retorno sera uma struct*/
            if(RL.ok == false)
            {
                notificarErroDigitacao("Senha ou email informados incorretamente : ");
            }
            else
            {
                if(RL.clearance == IBase::AdminS)
                {
                    InterfaceAdmin IA;
                    IA.executar_v2(RL);
                }
                else
                {
                    InterfaceUser IU;
                    IU.executar_v2(RL);
                }
            }
        }
        else if(s == IBase::RegistroNUM)
        {
            InterfaceReg iReg;
            try
            {
                iReg.executar();
            }
            catch(invalid_argument &e)
            {
                notificarErroDigitacao(e);
            }
        }
    }
    while(s!=IBase::SairNUM);
}
